$(document).ready(function() {
	sempab = window.sempab || {};
	sempab.administracao = {
		cache : Array(),
		senhapadrao : "sempab",
		init : function() {
			
			$('#gerenciar-usuarios').click(function(){
				sempab.administracao.renderGerenciarUsuario();
			});
			$('#novo-usuario').click(function(){
				sempab.administracao.renderNovoUsuario();
			});
		},
		renderNovoUsuario : function() {
			var html = '<div id="new-user-container">'+
			'<form id="new-user-form"><table><tr><td>Nome</td><td><input type="text" id="firstname"></td></tr>'+
			'<tr><td>Sobrenome</td><td><input type="text" id="lastname"></td></tr>'+
			'<tr><td>Nome de usuário</td><td><input type="text" id="username"></td></tr>'+
			'<tr><td>Senha</td><td><input type="password" id="password"></td></tr>'+
			'<tr><td>Confirme a senha</td><td><input type="password" name="confirmpass"></td></tr>'+
			'<tr><td>e-mail</td><td><input type="text" id="email"></td></tr>'+
			'<tr><td>Nível de acesso</td><td><input type="radio" name="accesslevel" value="administrador" pagina="administracao">Administrador</td></tr>'+
			'<tr><td></td><td><input type="radio" name="accesslevel" value="recepcao" pagina="recepcao">Recepção</td></tr>'+
			'<tr id="new-user-submit-row"><td></td><td id="new-user-submit-cell"><input id="new-user-submit"type="submit" onclick="return false;"/></td></tr></form></div>';
			$('#page-content').html(html);
			$('#new-user-submit').click(function(){
				//alert($(":checked").val());
				params = {
                url: "services/?service=novoUsuario",
                global: false,
                type: "POST",
                data: {
                    username: $('#username').val(),
                	password: sha1($('#password').val()),
                	firstname: $('#firstname').val(),
                	lastname: $('#lastname').val(),
                	email: $('#email').val(),
                	accesslevel: $(':checked').val(),
                	paginaprincipal: $(':checked').attr("pagina")
                },
                dataType: "json",
                async: false,
                success: function(msg) {
                    //TODO Handler "OK" or "ERROR"
                    
                    if (msg.status == "OK"){
                        sempab.alert.showMessage("Usuário cadastrado com sucesso.", {
                            callback: function() {
                                window.refresh;
                            }
                        });
                        //window.location = "?page=login";
                            
                    }
                    else if (msg == "ALREADYEXISTS"){
                    	sempab.alert.showMessage("Esse usuário já existe.", {
                            callback: function() {
                                window.refresh;
                            }
                        });
                    }
                    else if (msg == "EMPTYFIELDS"){
                    	sempab.alert.showMessage("Existem campos vazios.", {
                    		callback: function() {
                                window.refresh;
                            }
                        });
                    }
                },
                error: function(data) {
                    sempab.alert.showMessage("Ocorreu um erro interno, comunique o administrador do sistema", {
                        callback: function() {
                            window.refresh;
                        }
                    });
                }
            };
            //Envia a requisição
            $.ajax(params);
            //console.log(data);
			});
		},
		renderGerenciarUsuario : function() {
			params = {
                url: "services/?service=getusuarios",
                global: false,
                type: "POST",
               
                dataType: "json",
                async: false,
                success: function(msg) {
                    //TODO Handler "OK" or "ERROR"
                	if (msg == "ERROR"){
                    	sempab.alert.showMessage("Não foi possível consultar a base de dados, comunique ao administrador do sistema.", {
                        	callback: function() {
                                window.refresh;
                            }
                        });
                    }else{
                    	var html = '<table><thead><th class="gerencia-th">Nome de usuário</th><th class="gerencia-th">Nome</th><th class="gerencia-th">Opções</th></thead><body>';
                    	for(i = 0; i < msg.length; i++){
                    		html += '<tr id="'+msg[i]["usu_id"]+'"><td>'+msg[i]["usu_username"]+'</td><td>'+msg[i]["usu_firstname"]+" "+msg[i]["usu_lastname"]+'</td><td><img class="botao-resetar"src="./images/reset_password.png"></td></tr>';
                    	}
                    	html += "</body></table>";
                    	$('#page-content').html(html);
                    }
                },
                error: function(data) {
                    sempab.alert.showMessage("Ocorreu um erro interno, comunique o administrador do sistema", {
                        callback: function() {
                            window.refresh;
                        }
                    });
                }
            };
            //Envia a requisição
            $.ajax(params);
            $(".botao-resetar").click(function(){
            	params = {
                url: "services/?service=resetsenha",
                global: false,
                type: "POST",
               	data : {
               		senhapadrao : sha1(sempab.administracao.senhapadrao),
               		idusuario : $(this).closest("tr").attr("id")
               	},
                dataType: "json",
                async: false,
                success: function(msg) {
                    //TODO Handler "OK" or "ERROR"
                	if (msg == "ERROR"){
                    	sempab.alert.showMessage("Não foi possível resetar a senha, comunique ao administrador do sistema.", {
                        	callback: function() {
                                window.refresh;
                            }
                        });
                    }else{
                    	sempab.alert.showMessage("Senha resetada para a senha padrão: "+sempab.administracao.senhapadrao+"", {
                        	callback: function() {
                                window.refresh;
                            }
                        });
                    }
                },
                error: function(data) {
                    sempab.alert.showMessage("Ocorreu um erro interno, comunique o administrador do sistema", {
                        callback: function() {
                            window.refresh;
                        }
                    });
                }
            };
            //Envia a requisição
            $.ajax(params);
            });
		}
	};
	window.sempab = sempab;
	sempab.administracao.init();
}); 